package cn.ronghuanet.car.domain;

import java.math.BigDecimal;
import java.util.Date;
import cn.ronghuanet.base.domain.BaseDomain;


import cn.ronghuanet.org.domain.Employee;
import cn.ronghuanet.org.domain.Shop;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author xiong
 * @since 2023-07-03
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class Car extends BaseDomain{

    private static final long serialVersionUID = 1L;

    private Long id;
    private String title;
    /**
     * 封面 fastdfs地址
     */
    private String cover;
    /**
     * 原价
     */
    private BigDecimal saleprice;
    /**
     * 售价
     */
    private BigDecimal costprice;
    /**
     * 1-新车 0-二手车
     */
    private Integer isnew;
    /**
     * 上牌时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date reigstertime;
    /**
     * 里程
     */
    private Double mileage;
    /**
     * 店铺Id 
     */
    private Long shopId;
    private String shopname;

    private Shop shop;

    /**
     * 创建时间
     */
    private Date createtime;
    /**
     * 上架时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date onsaletime;
    /**
     * 下架时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date offsaletime;
    /**
     * 状态：0下架 1上架
     */
    private Integer state;
    /**
     * 是否超值 1-是 0-否
     */
    private Integer costeffective;
    /**
     * 急售 1-是 0-否
     */
    private Integer rushsale;
    /**
     * 准新车 1-是 0-否
     */
    private Integer quasinewcar;
    /**
     * 可迁全国   1-是 0-否
     */
    private Integer transitivecountry;
    /**
     * 类型id
     */
    private Long typeId;
    private CarType type;   // 一个车辆只有一个车辆类型

    /**
     * 销售人员ID
     */
    private Long sellerId;
    private Employee seller;    // 营销人员

    private Long userId;
    /**
     * 如果是由别人发布的卖车消息那收购来的，那么就记录卖车信息id
     */
    private Long searchMasterMsgId;
    /**
     * 审核状态 1- 审核通过  0-审核驳回
     */
    private Integer auditstate;

    private CarDetail carDetail;    // 车辆基本信息对象

}
